1. Field of the Invention
The present invention relates to multiplex processing suitably used to multiplex a plurality of transport streams in a data transmission system of transport streams which is a data transmission format.
2. Related Background Art
A digital processing system complying with MPEG (Moving Picture Experts Group) 2 specifications (ISO/IEC (International Organization for Standardization/International Electrotechnical Commission 13818-1 to 13818-3) has recently become a standard as a video transmission system.
FIG. 1 is a block diagram showing the arrangement of a digital transmission apparatus on the transmission side of a general digital video transmission system complying with ISO/IEC 13818-1 to 13818-3.
Referring to FIG. 1, this system includes a video data input terminal 301, an audio data input terminal 302, a PCR (Program Clock Reference) generator 303 specified by ISO/IEC 13818-1, a video encoder 304 for compressing/coding digital video data in compliance with ISO/IEC 13818-2, an audio encoder 305 for compressing/coding digital audio data in compliance with ISO/IEC 13818-3, a TS generator 306 for generating a transport stream (TS) in compliance with ISO/IEC 13818-1, and an output terminal 307 for outputting a generated transport stream.
The transmitting operation of the digital transmission apparatus having the above arrangement will be described next.
The video encoder 304 compresses digital video data input to the video data input terminal 301 into low-redundancy data in compliance with ISO/IEC 13818-2 upon checking information with a spatially and temporally high correlation. In addition, the audio encoder 305 compresses the information amount of digital audio data input to the audio data input terminal 302, in compliance with ISO/IEC 13818-3.
Assume that a unit of these compressed data streams which can be expanded singly is an access unit (AU), and these data will be referred to as a video elementary stream and an audio elementary stream, respectively. Each of video and audio elementary streams is generally a unit based on an access unit and converted into a packetized elementary stream with a stream ID representing the attribute of the elementary stream, time stamp information representing a decoding time and display time on the decoding side, and the like.
The PCR generator 303 generates and outputs the PCR specified by ISO/IEC 13818-1. The TS generator 306 converts packetized video and audio data into fixed-length transport streams in accordance with a transmission path, and simultaneously multiplexes and outputs the streams with data output from the PCR generator 303. The TS generator 306 also generates PSI (Program Specific Information) specified by ISO/IEC 13818-1, assembles it into sections, and periodically multiplexes the resultant sections with the above transport streams. The transport streams generated in the above manner are output to the output terminal 307.
FIG. 2 shows a conventional multiplexing apparatus for a plurality of transport streams generated by using a plurality of digital transmission apparatuses each having the same arrangement as that described above. Referring to FIG. 2, this apparatus includes transport stream input terminals 401 for receiving outputs from the respective digital transmission apparatuses, buffers 402 for storing the respective input transport streams, a TS multiplexer 403 for multiplexing a plurality of transport streams into one transport stream in accordance with a transmission path, and an output terminal 404 for outputting the multiplexed transport stream.
The operation of the multiplexing apparatus having the above arrangement will be described next.
The two transport streams generated by the digital transmission apparatus in FIG. 1 are respectively stored in the buffers 402 through the input terminals 401 in FIG. 2. The TS multiplexer 403 time-divisionally multiplexes the transport streams stored in the respective buffers 402 into one transport stream in accordance with a transmission path, and outputs the transport stream to the output terminal 404. In addition, the PSI multiplexed with each transport stream is decoded to generate new PSI, and this new PSI is multiplexed with the multiplexed transport stream.
Reproduction of the above program specification information will be described with reference to FIGS. 3 and 4.
FIG. 3 shows the PSI multiplexed with each of the two transport streams.
Referring to FIG. 3, xe2x80x9cprogram_association_tablexe2x80x9d indicates a program list multiplexed with the transport stream and is assigned a program number (xe2x80x9cprogram_numberxe2x80x9d) and a packet identifier (xe2x80x9cprogram_map_PIDxe2x80x9d) for each program.
Referring to FIG. 3, program number 0x0001 and packet identifier 0x0011 are assigned to transport stream 1, and program number 0x0002 and packet identifier 0x0021 are assigned to transport stream 2.
Subsequently, xe2x80x9cprogram_map_tablexe2x80x9d receives xe2x80x9cprogram_association_tablexe2x80x9d, and a packet identifier is assigned to each element in one program. Referring to FIG. 3, in transport stream 1, 0x0012, 0x0013, and 0x0014 are respectively assigned to xe2x80x9cPCR_PIDxe2x80x9d, xe2x80x9cvideo_elementary_PIDxe2x80x9d, and xe2x80x9caudio_elementary_PIDxe2x80x9d. In transport stream 2, 0x0022, 0x0023, and 0x0024 are respectively assigned to xe2x80x9cPCR_PIDxe2x80x9d, xe2x80x9cvideo_elementary_PIDxe2x80x9d, and xe2x80x9caudio_elementary_PIDxe2x80x9d.
The two pieces of program specification information in FIG. 3 are multiplexed into one new piece of program specification information like the one shown in FIG. 4.
The two pieces of xe2x80x9cprogram association_tablexe2x80x9d in FIG. 3 are compiled into one piece of xe2x80x9cprogram_association_tablexe2x80x9d in FIG. 4, and two programs are defined in this xe2x80x9cprogram_association_tablexe2x80x9d. The two pieces of xe2x80x9cprogram_map_tablexe2x80x9d in FIG. 3 are assigned as two pieces of xe2x80x9cprogram_map_tablexe2x80x9d without any change, as shown in FIG. 4.
According to the data multiplexing method using the above conventional multiplexing apparatus, in multiplexing operation, pieces of program specification information can be properly reconstructed only when different PIDs (Packet Identifiers) are assigned to the respective pieces of program specification information multiplexed with input original transport streams.
If identical identifiers are assigned to the respective pieces of program specification information of a plurality of input transport streams, new program specification information for the multiplexed transport stream cannot be properly reconstructed. In addition, the PIDs as the identifiers of the respective elementary streams become redundant and cannot be properly decoded by a decoder.
Another method is available, in which program specification information after multiplexing is fixed, the original identifiers are ignored, and new PIDs are assigned to the respective programs and elementary streams. In this case, however, it is difficult to manage an increase/decrease in the number of programs to be input and the number of inputs, and all PIDs must be updated every time an input is changed. Furthermore, it is very difficult to associate originally assigned program specification information with newly generated program specification information.
The present invention has been in consideration of the above situation, and has as its object to provide a multiplexing apparatus and method which can multiplex a plurality of transport streams by adaptively generating program specification information of a multiplexed transport stream without managing the program specification information of each input transport stream in advance, and a storage medium storing a processing program for the multiplexing process.
In order to achieve the above object, according to an aspect of the present invention, there is provided a multiplexing apparatus/method characterized by inputting a plurality of data streams with which identification information of data is multiplexed, extracting the identification information multiplexed with the plurality of input data streams from the plurality of input data streams, detecting pieces of identification information, of the extracted identification information extracted, which are redundant among the respective data streams, replacing the detected identification information with new identification information, and multiplexing the plurality of data streams obtained by replacement.
In addition, according to another aspect of the present invention, there is provided a storage medium storing a program for executing the input step of inputting a plurality of data streams with which identification information of data is multiplexed, the extraction step of extracting the identification information multiplexed with the plurality of input data streams from the plurality of input data streams, the detection step of detecting pieces of identification information, of the extracted identification information extracted, which are redundant among the respective data streams, the replacing step of replacing the detected identification information with new identification information, and the multiplexing step of multiplexing the plurality of data streams obtained by replacement.
Other objects, features and advantages of the invention will become apparent from the following detailed description taken in conjunction with the accompanying drawings.